package com.erp.erp_entitys.business.rsp;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName : StatisticsPurchaseInfoRsp
 * @Description : 采购-出货情况统计出参实体
 * @Author : lst
 * @Date: 2021-05-07 04:05
 */
public class StatisticsPurchaseInfoRsp implements Serializable {
    private static final long serialVersionUID = -306700935765927367L;

    /**
     * 主键
     */
    private Integer id;
    /**
     * 类型（1成品/2配件）
     */
    private String purchaseType;

    /**
     * 采购合同号
     */
    private String purchaseNo;
    /**
     * 备注
     */
    private String memo;
    /**
     * 外销合同号
     */
    private String salesContractNo;
    /**
     * 厂商名称
     */
    private String supplierName;
    /**
     * 签约日期
     */
    private Date signTime;
    /**
     * 产品编码
     */
    private String productNo;
    /**
     * 规格编码
     */
    private String specNo;
    /**
     * 产品名称
     */
    private String chineseName;
    /**
     * 中文描述
     */
    private String chineseDesc;
    /**
     * 英文描述
     */
    private String englishDesc;
    /**
     * 规格说明
     */
    private String normExplain;
    /**
     * 产品数量
     */
    private BigDecimal amount;
    /**
     * 币种
     */
    private String currency;
    /**
     * 采购成本
     */
    private BigDecimal price;
    /**
     * 产品单价
     */
    private BigDecimal productUnitPrice;
    /**
     * 其它费用
     */
    private BigDecimal otherCost;
    /**
     * 费用备注
     */
    private String memoOfCost;
    /**
     * 采购金额
     */
    private BigDecimal priceSubtotal;
    /**
     * 要求交货日期
     */
    private Date requestDeliveryDate;
    /**
     * 操作员
     */
    private String executorName;
    /**
     *业务员名称
     */
    private String salesmanName;
    /**
     * 是否含税（1:含税出厂价2:未税出厂价3:含税FOB价4:未税FOB价）
     */
    private String taxIncluded;
    /**
     * 付款类型
     */
    private String paymentType;

    /**
     * 出运计划单号
     */
    private String shipmentNo;
    /**
     * 已计划数量
     */
    private BigDecimal planAmount;
    /**
     * 出运明细发票号
     */
    private String billNo;
    /**
     * 出运数量
     */
    private BigDecimal productNum;
    /**
     * 素材供应商
     */
    private String materialSupplierName;

    /**
     * 基准价
     */
    private BigDecimal benchmarkPrice;
    /**
     * 差异单价
     */
    private BigDecimal differentialPrice;
    /**
     * COST DOWN=差异单价*产品数量
     */
    private BigDecimal costDown;

    private BigDecimal earnestRate;
    private BigDecimal earnestMoney;

    public BigDecimal getEarnestRate() {
        return earnestRate;
    }

    public void setEarnestRate(BigDecimal earnestRate) {
        this.earnestRate = earnestRate;
    }

    public BigDecimal getEarnestMoney() {
        return earnestMoney;
    }

    public void setEarnestMoney(BigDecimal earnestMoney) {
        this.earnestMoney = earnestMoney;
    }

    public BigDecimal getCostDown() {
        return costDown;
    }

    public void setCostDown(BigDecimal costDown) {
        this.costDown = costDown;
    }

    public BigDecimal getBenchmarkPrice() {
        return benchmarkPrice;
    }

    public void setBenchmarkPrice(BigDecimal benchmarkPrice) {
        this.benchmarkPrice = benchmarkPrice;
    }

    public BigDecimal getDifferentialPrice() {
        return differentialPrice;
    }

    public void setDifferentialPrice(BigDecimal differentialPrice) {
        this.differentialPrice = differentialPrice;
    }

    public String getMaterialSupplierName() {
        return materialSupplierName;
    }

    public void setMaterialSupplierName(String materialSupplierName) {
        this.materialSupplierName = materialSupplierName;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public String getTaxIncluded() {
        return taxIncluded;
    }

    public void setTaxIncluded(String taxIncluded) {
        this.taxIncluded = taxIncluded;
    }

    public String getEnglishDesc() {
        return englishDesc;
    }

    public String getSalesmanName() {
        return salesmanName;
    }

    public void setSalesmanName(String salesmanName) {
        this.salesmanName = salesmanName;
    }

    public void setEnglishDesc(String englishDesc) {
        this.englishDesc = englishDesc;
    }

    public String getChineseDesc() {
        return chineseDesc;
    }

    public void setChineseDesc(String chineseDesc) {
        this.chineseDesc = chineseDesc;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getPurchaseType() {
        return purchaseType;
    }

    public void setPurchaseType(String purchaseType) {
        this.purchaseType = purchaseType;
    }

    public String getPurchaseNo() {
        return purchaseNo;
    }

    public void setPurchaseNo(String purchaseNo) {
        this.purchaseNo = purchaseNo;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getSalesContractNo() {
        return salesContractNo;
    }

    public void setSalesContractNo(String salesContractNo) {
        this.salesContractNo = salesContractNo;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Date getSignTime() {
        return signTime;
    }

    public void setSignTime(Date signTime) {
        this.signTime = signTime;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getSpecNo() {
        return specNo;
    }

    public void setSpecNo(String specNo) {
        this.specNo = specNo;
    }

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getNormExplain() {
        return normExplain;
    }

    public void setNormExplain(String normExplain) {
        this.normExplain = normExplain;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getProductUnitPrice() {
        return productUnitPrice;
    }

    public void setProductUnitPrice(BigDecimal productUnitPrice) {
        this.productUnitPrice = productUnitPrice;
    }

    public BigDecimal getOtherCost() {
        return otherCost;
    }

    public void setOtherCost(BigDecimal otherCost) {
        this.otherCost = otherCost;
    }

    public String getMemoOfCost() {
        return memoOfCost;
    }

    public void setMemoOfCost(String memoOfCost) {
        this.memoOfCost = memoOfCost;
    }

    public BigDecimal getPriceSubtotal() {
        return priceSubtotal;
    }

    public void setPriceSubtotal(BigDecimal priceSubtotal) {
        this.priceSubtotal = priceSubtotal;
    }

    public Date getRequestDeliveryDate() {
        return requestDeliveryDate;
    }

    public void setRequestDeliveryDate(Date requestDeliveryDate) {
        this.requestDeliveryDate = requestDeliveryDate;
    }

    public String getExecutorName() {
        return executorName;
    }

    public void setExecutorName(String executorName) {
        this.executorName = executorName;
    }

    public String getShipmentNo() {
        return shipmentNo;
    }

    public void setShipmentNo(String shipmentNo) {
        this.shipmentNo = shipmentNo;
    }

    public BigDecimal getPlanAmount() {
        return planAmount;
    }

    public void setPlanAmount(BigDecimal planAmount) {
        this.planAmount = planAmount;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public BigDecimal getProductNum() {
        return productNum;
    }

    public void setProductNum(BigDecimal productNum) {
        this.productNum = productNum;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("StatisticsPurchaseInfoRsp").append('[')
                .append("id=")
                .append(id)
                .append(",purchaseType=")
                .append(purchaseType)
                .append(",purchaseNo=")
                .append(purchaseNo)
                .append(",memo=")
                .append(memo)
                .append(",salesContractNo=")
                .append(salesContractNo)
                .append(",supplierName=")
                .append(supplierName)
                .append(",signTime=")
                .append(signTime)
                .append(",productNo=")
                .append(productNo)
                .append(",specNo=")
                .append(specNo)
                .append(",chineseName=")
                .append(chineseName)
                .append(",normExplain=")
                .append(normExplain)
                .append(",amount=")
                .append(amount)
                .append(",currency=")
                .append(currency)
                .append(",price=")
                .append(price)
                .append(",productUnitPrice=")
                .append(productUnitPrice)
                .append(",otherCost=")
                .append(otherCost)
                .append(",memoOfCost=")
                .append(memoOfCost)
                .append(",priceSubtotal=")
                .append(priceSubtotal)
                .append(",requestDeliveryDate=")
                .append(requestDeliveryDate)
                .append(",executorName=")
                .append(executorName)
                .append(",shipmentNo=")
                .append(shipmentNo)
                .append(",planAmount=")
                .append(planAmount)
                .append(",billNo=")
                .append(billNo)
                .append(",productNum=")
                .append(productNum)
                .append(']');
        return sb.toString();
    }
}
